package com.briup.jdk8.day02;

import com.briup.corejava.day11.pojo.Student;

import java.util.Optional;

/**
 * Optional
 * 主要作用，优雅的处理空指针异常
 * if(对象 ！= null){
 * }
 */
public class Test6 {
    public static void main(String[] args) {
        // 使用optional
        // 取值，值存在就取出来，不存在就抛空指针
        String s = getStudentName().orElseThrow(NullPointerException::new);
        System.out.println(s);

    }
    public static Optional<String> getStudentName(){
        // 创建Optional的两种方式
        Optional<Student> op1 = Optional.of(new Student("张三",20));
        // 允许包裹null值
        Optional<String> op2 = Optional.ofNullable(null);

        return op1.map(Student::getName);
    }
}
